PVS : Combining Speci cation , Proof Checking , and Model Checking ? To appear in CAV ' 96
نویسندگان
چکیده
PVS (Prototype Veriication System) is an environment for constructing clear and precise speciications and for developing readable proofs that have been mechanically veriied. It is designed to exploit the synergies between language and deduction, automation and interaction, and theorem proving and model checking. For example, the type system of PVS requires the use of theorem proving to establish type correctness, and conversely, type information is used extensively during a proof. Similarly, decision procedures are heavily used in order to simplify the tedious and obvious steps in a proof leaving the user to interactively supply the high-level steps in a veriication. Model checking is one such decision procedure that is used to discharge temporal properties of speciic nite-state systems. A variety of examples from functional programming, fault tolerance, and real time computing have been veriied using PVS 8]. The most substantial use of PVS has been in the veriication of the microcode for selected instructions of a commercial-scale microprocessor called AAMP5 designed by Rockwell-Collins and containing about 500,000 transistors 6]. Most recently, PVS has been applied to the veriication of the design of an SRT divider 10]. The key elements of the PVS design are described below in greater detail below. The PVS speciication language is based on classical, simply typed higher-order logic, but the type system has been augmented with subtypes and dependent types. Though typechecking is undecidable for the PVS type system, the PVS typechecker automatically checks for simple type correctness and generates proof obligations corresponding to predicate subtypes. These proof obligations can be discharged through the use of the PVS proof checker. PVS also has parametric theories so that it is possible to capture, say, the notion of sorting with respect to arbitrary sizes, types, and ordering relations. By exploiting subtyping, dependent typing, and parametric theories, researchers at NASA Langley Research Center and SRI have developed a very general bit-vector library. Paul Miner at NASA ?
منابع مشابه
Abstract and Model Check While You Prove
The construction of abstractions is essential for reducing large or innnite state systems to small or nite state systems. Boolean abstractions, where boolean variables replace concrete predicates, are an important class that subsume several abstraction schemes. We show how boolean abstractions can be constructed simply, eeciently, and precisely for innnite state systems while preserving propert...
متن کاملFormal Requirements Speci cation for Command and Control Systems
This paper presents an approach to formal requirements speci cation of embedded systems. The speci c demands of a speci cation for command and control systems are addressed. The proposed method allows various views of a system, like conventional methods. The added value lies in the fact that the relationship between the views is speci ed formally, and consistency between views can be analyzed f...
متن کاملCombining Tools for the Veriication of Fault-tolerant Systems
ion to Finite State/Finite Value Obligations. If the veri cation of explicit-spec obligations can be expressed as a re nement relation between nite state processes using nite data types and concrete data transformations only, it can be discharged by model checking, that is, complete exploration of the process state spaces involved. While tool-supported theorem proving requires manual interactio...
متن کاملAnalyzing Tabular and State-transition Requirements Speciications in Pvs 1
We describe PVS's capabilities for representing tabular speci cations of the kind advocated by Parnas and others, and show how PVS's Type Correctness Conditions (TCCs) are used to ensure certain well-formedness properties. We then show how these and other capabilities of PVS can be used to represent the AND/OR tables of Leveson and the Decision Tables of Sherry, and we demonstrate how PVS's TCC...
متن کاملHierarchical Veri cation of Two - DimensionalHigh - Speed Multiplication in PVS : A Case Study
It is shown how to use the PVS speciication language and proof checker to present a hierarchical formalization of a two-dimensional, high-speed integer multiplier on the gate level. We rst give an informal description of iterative array multiplier circuits together with a natural reenement into vertical and horizontal stages, and then show how the various features of PVS can be used to obtain a...
متن کامل